package 设计模式.装饰模式;

//装饰者模式：俗称套娃模式  继承+聚合
public class CoffeeBarClient {
    public static void main(String[] args) {
        //装饰者模式下的订单：2份巧克力+一份牛奶的LongBlack
        //1.点一份LongBlack
        Drink order = new LongBlack();
        System.out.println("费用1="+order.cost());
        System.out.println("描述="+order.getDes());
        //2.order 加入一份牛奶
        order = new Milk(order);
        System.out.println("order 加入一份牛奶 费用=" + order.cost());
        System.out.println("order 加入一份牛奶 描述=" + order.getDes());
        //3.order 加入一份巧克力
        order = new Chocolate(order);
        System.out.println("order 加入一份巧克力 费用="+order.cost());
        System.out.println("order 加入一份巧克力 描述="+order.getDes());
        //4.order 加入两份巧克力
        order = new Chocolate(order);
        System.out.println("order 加入两份份巧克力 费用="+order.cost());
        System.out.println("order 加入两份巧克力 描述="+order.getDes());
    }
}
